如我定义一个数据
unsigned long a=99999999;
unsigned char b;将a取出一位后赋值给b输出, 如
a=a%10000000/1000000;
b=(unsigned char) a;
cout<<"b="<<b<<endl;
调试后b没有数据输出, 这是为什么?
照理这个b应该要输出9的, 但是这里实际上没有输出。
所以,我要怎么样将数据a的类型转换成char型输出?
深蓝电子 发表于 2023-8-12 10:07
我的理解:类型转换是没有错,b=9 ,但是cout输出时,是把b做为ascii码处理的,ascii码9是制表符TAB, 因此看 ...
深蓝电子 发表于 2023-8-16 15:15
也可能通过移位处理
unsigned long a=99999999 ;
unsigned char byte[4] ;
深蓝电子 发表于 2023-8-18 15:22
unsigned long a = 99999999 ;
unsigned char * p ;
p = (unsigned char *)(&a) ;
wuliangu 发表于 2023-8-18 19:37
我前面说的for语句中表示的意思是不是将一个数分成4个字节存入pDat[]数组中? ...
深蓝电子 发表于 2023-8-19 12:57
应该是这个意思,但程序没看懂,把完整的程序,发出来看一下
wuliangu 发表于 2023-8-19 16:36
完整点的程序如下
/******************************************************************************* ...
Awen 发表于 2023-8-18 10:16
using namespace std;
unsigned long a = 99999999;
unsigned char b;//int 有输出结果