gpt4 book ai didi

c - 将十六进制值赋给字符

转载 作者:行者123 更新时间:2023-12-02 00:27:41 25 4
gpt4 key购买 nike

uint8_t a = 0x1234;

a == 34?这是因为 0x34 是第一个字节吗?

如果是这样,我如何执行检查以确保我分配给 a 的值不超过 uint8_t 的大小?

最佳答案

jslagle@AR-E642-45QS3R1:~ $ cat test.c

#include <stdio.h>
#include <inttypes.h>

int main (int argc, char **argv) {
uint8_t a = 0x1234;

printf("%d %x\n",a,a);
return 0;
}

jslagle@AR-E642-45QS3R1:~ $ gcc -o test test.c
test.c: In function ‘main’:
test.c:5:3: warning: large integer implicitly truncated to unsigned type [-Woverflow]

jslagle@AR-E642-45QS3R1:~ $ ./test
52 34

它确实表现得像那样。如果你这样做,GCC 会给你一个警告。

关于c - 将十六进制值赋给字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8236935/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com