c语言中yz
发布时间: 2024-12-21 00:52:54
⑴ ASCII码中的ABC……YZ与区位码的ABC……YZ转换的机内码不同,计算机是怎样识别的
ASCLL码~A对应的是65,a对应是97。书上都有对应的表,自己参考下。而你说的是补码和原码的相互转换。因为在计算机系统中数值一律用补码来存贮。C语言中,就是用补码进行存储和运算的。最左边是0表示是正数,最左边是1表示是负数。
已知一个数的补码,求原码的操作分两种情况:
(1)如果补码的符号位为“0”,表示是一个正数,其原码就是补码。
(2)如果补码的符号位为“1”,表示是一个负数,那么求给定的这个补码的补码就是要求的原码。
给你举个例子:
例如:求-15的补码
第一步:+15:00001111
第二步:从右向左找到第一个1,然后把左边的所有位取反
11110001
补码的加法公式:
[X+Y]补 = [X]补 + [Y]补
补码的减法公式:
[X-Y]补 = [X]补 - [Y]补 = [X]补 + [-Y]补
再给你举个例子:
例如:1+(-1) [十进制]
1的原码00000001 转换成补码:00000001
-1的原码10000001 转换成补码:11111111
1+(-1)=0
00000001+111111111=00000000
00000000转换成十进制为0
0=0所以运算正确。
你自己看看会明白的吧~!
热点内容