theboyaply
theboyaply
发布于 2020-01-03 / 830 阅读
0
0

java基础二(原码、反码、补码及不同进制的定义)

原码、反码、补码介绍

内存中所有数字都是以补码的形式存在的
对于正数来说,原码、反码、补码三码合一

原码:二进制表示,最高位为符号位0-正数,1-负数
反码:在原码的基础上,除符号位(最高位)取反,即0变1,1变0
补码:在反码的基础上,末位加1

eg:(均为1字节)
13
原码:0000 1101
反码:0000 1101
补码:0000 1101
-13
原码:1000 1101
反码:1111 0010
补码:1111 0011

不同进制的定义

  • 二进制: 0-1 满2进1,以0b或0B开头(是数字0,不是英文字母o)
  • 八进制: 0-7 满8进1,以数字0开头表示
  • 十进制: 0-9 满10进1
  • 十六进制: 0-9及A-F 满16进1,以0x或0X开头(是数字0,不是英文字母o)。此处A-F不分大小写
	// 二进制100
	int i1 = 0b01100100;

	// 八进制100
	int i2 = 0144;

	// 十进制100
	int i3 = 100;

	// 十六进制100
	int i4 = 0x64;

评论