为什么char能表示

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/02 12:53:38
为什么char能表示

为什么char能表示
为什么char能表示

为什么char能表示
哎,.由于-128的原码用8位无法表示,所以必须扩展到16位去表示,然后对16位的原码计算出16位的反码和补码,最后对16位的补码作低8位的截断,截断的低8位的值就是-128的补码了.// 8位所能表示的 原码 的范围-127到+127 // 8位所能表示的 反码 的范围-127到+127 // 8位所能表示的 补码 的范围-128到+127 // 计算机当中,是规定-128的补码是1000 0000 // 算的时候则需要扩展到16位来算.否则,第8位到底表示符号还是表示数值2的7次方呢?所以,8位就按8位的通常看法来看,-128 的补码是 1000 0000 // 是难以理解的.只能扩展后来看.// -128 原码 1000 0000 1000 0000 // -128 反码 1111 1111 0111 1111 // -128 补码 1111 1111 1000 0000 // -129 原码 1000 0000 1000 0001 // -129 反码 1111 1111 0111 1110 // -129 补码 1111 1111 0111 1111 int main(int argc,char* argv[]) { char ch = -129; // warning C4309:'initializing' :truncation of constant value char ch2 = -128; // no warning return 0; } 注意:由于char能表示的范围是:-128~127,如果将-129赋给char,编译的时候是会产生warning的,并会截断,截断后的值是0x7f(127).

为什么char能表示 为什么char能表示 char* 表示什么?比如char* Getname(char*) 怎么表示char譬如逗号,句号. 能帮我看看哪里错了么#include #include using namespace std;void firstname(char []);void middlename(char[]);void lastname(char[]);void finalname(char[]);int main(){ const int Size=100; char name[Size]; char name1[Size]; char nam char s[5]=abcde为什么错 scanf(%s %s %s ,a,s,b) == 3中为什么a前面没有&/* PRESET CODE BEGIN - NEVER TOUCH CODE BELOW */#include #include void plus(char *a,char *b,char *c);void minus(char *a,char *b,char *c);int main(){ char a[1000];char b[1000];char c[1000];char s 谁能帮忙看下这是啥意思~#include #include #include class MY{ private:char time[10]; char place[10]; public:char *heart; void feeling(char *feel); void course(char time[10],char place[10]); }; class MM{ private:int *heart; void feeling(); pu char** names; 表示什么意思?names 是数组吗? char一个字节,char a='A',正确,char a='AA'错误,但char a='男',对,问:汉字两个字节,为什么可以存进 struct { int x; char *y; }tab[2]={{1,ab},{2,cd}},*p=tab; *p为什么能指向tab;为什么不是p=tab; 泰勒公式为什么能表示一些函数? 函数公式、图像、表格为什么能表示? 方差为什么能表示数据的波动 char * (a[50]) = {'a','b',char * a[] = {'a','b','c'};可以为什么char * a = {'a','b','c'};不可以 char *p; p={abcde};错在哪儿char *p; p=abcde;和char *p; p={abcde};有什么区别?为什么前一个对而后一个错? -128是char所能表示的最小负数,在内存中是1000 0000,补码形式,那它的原码是什么?还有-256的补码的低八位怎么会是0? c 语言求改错为什么char s[]=ddddd;可以但char s[];s=ddddd不可以