离线
数据库的关系……以下复制粘贴自百度
朋友,你这个问题我了探讨过,现在我给你说一下,可能不太清楚,你好好看.
int型规定只能存放16位的数据,而且是以补码形式存放的.这点我们先不看,我们看16位能放多大的数:11111111,11111111.这是16位二进制最大的数.那么它的反码和补码是一样的(正数的正反码一样.)但是,它的最高位是1被系统认为是负数,所以最高位应该是0.那么int型最大的数就是:01111111,11111111.就是2的15次方减1,这个你该懂吧?
看负数.我们来看int型最小的负数(二进制原码):-11111111,11111111对不对?前面的减号是我本人要告诉你这个数是负数.它的补码是:先,取反:00000000,00000000.再加1:00000000,00000001.系统认为是正数,所以不对!
那么我们以补码来看一个负数:11111111,11111111(补码)那么它的原码就是:00000000,00000001.就是-1(早就声明了这个数是负数).所以不是最小的负数.如果一个负数的补码是:11111111,11111110.它的原码就是00000000,0000010.这个数是-2.如果一个负数的补码是:11111111,11111101.它的原码就是:00000000,00000011.也就是-3.可想而知,当一个负数的补码是10000000,00000000.那么它的原码就是int型最小的负数!至于最前面的1为什么不减,你想想也该知道,如果减了,这个数的还是负数吗?那我们再减1,这个数的码补就是:01111111,11111111.系统会认为是正数,它的原码和补码是一个样的,不就是正32767了吗?
這堆紅色的字會讓人想874
ˇ流羽星沙˙水羽天翔ˇ 娶妻當娶Asuna!
若此簽名圖過大造成困擾可在"個人資料"內的"外觀顯示"將"顯示簽名中的圖片"左方勾去掉 造成您的不便在此深表歉意 謝謝-v-/
离线
2015-07-06 14:17:24 @天使动漫 说:数据库的关系……以下复制粘贴自百度
朋友,你这个问题我了探讨过,现在我给你说一下,可能不太清楚,你好好看.
int型规定只能存放16位的数据,而且是以补码形式存放的.这点我们先不看,我们看16位能放多大的数:11111111,11111111.这是16位二进制最大的数.那么它的反码和补码是一样的(正数的正反码一样.)但是,它的最高位是1被系统认为是负数,所以最高位应该是0.那么int型最大的数就是:01111111,11111111.就是2的15次方减1,这个你该懂吧?
看负数.我们来看int型最小的负数(二进制原码):-11111111,11111111对不对?前面的减号是我本人要告诉你这个数是负数.它的补码是:先,取反:00000000,00000000.再加1:00000000,00000001.系统认为是正数,所以不对!
那么我们以补码来看一个负数:11111111,11111111(补码)那么它的原码就是:00000000,00000001.就是-1(早就声明了这个数是负数).所以不是最小的负数.如果一个负数的补码是:11111111,11111110.它的原码就是00000000,0000010.这个数是-2.如果一个负数的补码是:11111111,11111101.它的原码就是:00000000,00000011.也就是-3.可想而知,当一个负数的补码是10000000,00000000.那么它的原码就是int型最小的负数!至于最前面的1为什么不减,你想想也该知道,如果减了,这个数的还是负数吗?那我们再减1,这个数的码补就是:01111111,11111111.系统会认为是正数,它的原码和补码是一个样的,不就是正32767了吗?這堆紅色的字會讓人想874
反正我完全看不懂
Welcome back.
离线
羽毛不要过分强迫症了……
2015-07-06 14:17:24 @天使动漫 说:数据库的关系……以下复制粘贴自百度
朋友,你这个问题我了探讨过,现在我给你说一下,可能不太清楚,你好好看.
int型规定只能存放16位的数据,而且是以补码形式存放的.这点我们先不看,我们看16位能放多大的数:11111111,11111111.这是16位二进制最大的数.那么它的反码和补码是一样的(正数的正反码一样.)但是,它的最高位是1被系统认为是负数,所以最高位应该是0.那么int型最大的数就是:01111111,11111111.就是2的15次方减1,这个你该懂吧?
看负数.我们来看int型最小的负数(二进制原码):-11111111,11111111对不对?前面的减号是我本人要告诉你这个数是负数.它的补码是:先,取反:00000000,00000000.再加1:00000000,00000001.系统认为是正数,所以不对!
那么我们以补码来看一个负数:11111111,11111111(补码)那么它的原码就是:00000000,00000001.就是-1(早就声明了这个数是负数).所以不是最小的负数.如果一个负数的补码是:11111111,11111110.它的原码就是00000000,0000010.这个数是-2.如果一个负数的补码是:11111111,11111101.它的原码就是:00000000,00000011.也就是-3.可想而知,当一个负数的补码是10000000,00000000.那么它的原码就是int型最小的负数!至于最前面的1为什么不减,你想想也该知道,如果减了,这个数的还是负数吗?那我们再减1,这个数的码补就是:01111111,11111111.系统会认为是正数,它的原码和补码是一个样的,不就是正32767了吗?這堆紅色的字會讓人想874
离线
离线
我只想說 可想而之跟該懂你妹
至少我的世界裡 還有這樣的一個你 感謝天使
不嗔 不痴 不想 不念 僅僅只是遺憾
离线
原帖在这里23楼↓
http://bbs.csdn.net/topics/190054120
Welcome back.
离线
离线
离线