关于c语言中,int 321转换为char型,是什么,怎么算的 c语言中,怎样把内容为数字的char转换为int?

c\u8bed\u8a00\u4e2d\u600e\u4e48\u628aint\u578b\u8f6c\u6362\u4e3achar\u578b

\u5185\u5bb9\u4e3a\u6570\u5b57\u7684char\uff0c\u5305\u542b
0,1,2,3,4,5,6,7,8,9
\u5171\u8ba110\u4e2a\u5b57\u7b26\u3002
\u8fd9\u5341\u4e2a\u5b57\u7b26\u5728\u5b58\u4e3a\u5b57\u7b26\u578b\u65f6\uff0c\u5176\u5b58\u50a8\u503c\u4e3a\u5bf9\u5e94\u7684ascii\u7801\uff0c\u800c\u8fd9\u4e9bascii\u7801\u662f\u8fde\u7eed\u7684\uff0c\u4e14\u6309\u7167\u5176\u672c\u8eab\u6570\u5b57\u7684\u5927\u5c0f\u6765\u6392\u5217\u3002
\u8fd9\u6837\u5c31\u53ef\u4ee5\u5c06\u5b57\u7b26\u503c\uff0c\u51cf\u53bb\u8d77\u59cbascii\u7801\u503c\u5b9e\u73b0\u8f6c\u4e3a\u5bf9\u5e94\u503c\u7684\u6548\u679c\u3002
\u8bbe
int a; //\u8f6c\u6362\u7684\u76ee\u6807\u53d8\u91cf\u3002
char c = '7'; //\u8981\u8f6c\u6362\u7684\u5b57\u7b26\u3002
c = a - '0';
\u8fd9\u6837\u5f97\u5230\u7684\u5c31\u662f\u5bf9\u5e94\u7684\u503c\u4e86\uff0c\u5373c = 7\u3002
\u5982\u679c\u5728\u6587\u4ef6\u4e2d\u9700\u8981\u591a\u6b21\u8be5\u64cd\u4f5c\uff0c\u5219\u53ef\u4ee5\u5b9a\u4e49\u4e00\u4e2a\u5e26\u53c2\u5b8f\uff0c\u5982\u4e0b\uff1a
#define chartonumber(x) (x-'0')
\u8fd9\u6837\u53ea\u9700\u8981\u8c03\u7528
c = chartonumber(a);
\u5373\u53ef\u5b9e\u73b0\u6548\u679c\u3002

\u5185\u5bb9\u4e3a\u6570\u5b57\u7684char\uff0c\u5305\u542b
0,1,2,3,4,5,6,7,8,9
\u5171\u8ba110\u4e2a\u5b57\u7b26\u3002
\u8fd9\u5341\u4e2a\u5b57\u7b26\u5728\u5b58\u4e3a\u5b57\u7b26\u578b\u65f6\uff0c\u5176\u5b58\u50a8\u503c\u4e3a\u5bf9\u5e94\u7684ascii\u7801\uff0c\u800c\u8fd9\u4e9bascii\u7801\u662f\u8fde\u7eed\u7684\uff0c\u4e14\u6309\u7167\u5176\u672c\u8eab\u6570\u5b57\u7684\u5927\u5c0f\u6765\u6392\u5217\u3002
\u8fd9\u6837\u5c31\u53ef\u4ee5\u5c06\u5b57\u7b26\u503c\uff0c\u51cf\u53bb\u8d77\u59cbascii\u7801\u503c\u5b9e\u73b0\u8f6c\u4e3a\u5bf9\u5e94\u503c\u7684\u6548\u679c\u3002
\u8bbe
int a; //\u8f6c\u6362\u7684\u76ee\u6807\u53d8\u91cf\u3002
char c = '7'; //\u8981\u8f6c\u6362\u7684\u5b57\u7b26\u3002
c = a - '0';
\u8fd9\u6837\u5f97\u5230\u7684\u5c31\u662f\u5bf9\u5e94\u7684\u503c\u4e86\uff0c\u5373c = 7\u3002
\u5982\u679c\u5728\u6587\u4ef6\u4e2d\u9700\u8981\u591a\u6b21\u8be5\u64cd\u4f5c\uff0c\u5219\u53ef\u4ee5\u5b9a\u4e49\u4e00\u4e2a\u5e26\u53c2\u5b8f\uff0c\u5982\u4e0b\uff1a
#define chartonumber(x) (x-'0')
\u8fd9\u6837\u53ea\u9700\u8981\u8c03\u7528
c = chartonumber(a);
\u5373\u53ef\u5b9e\u73b0\u6548\u679c\u3002

你好!!
整形一般占2个字节,那么321的二进制就是:0000 0001 0100 0001那么把int 的数据赋值给char,那么就把第八位赋值给char 故0100 0001,那么对应的十进制就是65

不理解的话,我们在交流!!!

char只到255,
321就只剩321-256=65
大A是也~
O(∩_∩)O~

扩展阅读:int main开头为什么错了 ... int计算公式 ... c语言printf用法例子 ... c语言int取整怎么取 ... int在c语言中代表什么 ... 若有说明int a 3 ... int a[10]={ }哪里错了 ... print在c语言中的作用 ... c语言中的int 是什么意思 ...

本站交流只代表网友个人观点,与本站立场无关
欢迎反馈与建议,请联系电邮
2024© 车视网