编写程序输入一个(unsigned 类型)无符号整数,分别输出它的低4位和高4位。

来源:百度知道 编辑:UC知道 时间:2024/06/24 13:01:10
谁帮我做做
什么是高4位 什么又是低4位 不是无符号整型是个数嘛譬如2 明明只有1位啊。。。。。
我头晕。。
大侠们帮帮小的。。。。
谁能帮我做出来。。。我看了书上没有这点。。
要求是把从终端输入的数据的高4位与低4位输出。。

unsigned的int是占4个字节的在vc里面,就比如是unsigned char吧,这个是占一个字节的,你要知道计算机里面存储的都是用二进制代码储存的,一个字节是八位,所以就有了高四位和低四位,比如是2啊,在内存中是:
0000 0010 要是有符号的,最高位就是符号位,0代表正数,1代表负数,你要输出高四位可以用移位来实现,比如是unsigned char a=2;
那么高四位就是2>>4 得出来的用4位二进制表现出来就可以了,低四位就是
2&15 也就是0000 1111 与一下就好了,看看书,书上都有的

unsigned int num;
unsigned char t1=0, t2=0;

t1= num>>28;
t2= (num<<28)>>28;

完成