由同事作为一个谜题,我无法弄清楚这个C程序实际上是如何编译和运行的.什么是这个>>>=运算符和奇怪的1P1文字?我在Clang和GCC进行了测试.没有警告,输出是"???"
#include <stdio.h>
int main()
{
int a[2]={ 10, 1 };
while( a[ 0xFULL?'\0':-1:>>>=a<:!!0X.1P1 ] )
printf("?");
return 0;
}
Run Code Online (Sandbox Code Playgroud) 我正在阅读Google Go教程,并在常量部分中看到了这一点:
没有像0LL或0x0UL这样的常量
我试图进行Google搜索,但所有出现的情况都是人们使用这些常量的情况,但没有解释他们的意思.0x应该启动十六进制文字,但这些不是十六进制数字中可能出现的字符.
for (x = 0; x < 1ULL<<(2*length); ++x){
Run Code Online (Sandbox Code Playgroud)
以上这行是我下载的交流程序代码.它有一个"1ULL"部分.首先我认为这是一个错误.但代码编译并运行良好.任何人都可以请你解释一下这是什么意思.
谢谢....
#include <iostream>
using namespace std;
int main() {
unsigned long P;
P = 0x7F << 24;
cout << P << endl;
P = 0x80 << 24;
cout << P << endl;
return 0;
}
Run Code Online (Sandbox Code Playgroud)
2130706432
18446744071562067968
Run Code Online (Sandbox Code Playgroud)
如您所见,第一个结果是正确的。但是第二个结果是极其错误的。预期结果为 2147483648,与 18446744071562067968 不匹配。
我想知道为什么
对于在 ESP32 上运行的 C 程序中的计算,我必须按以下方式乘以和除以以下整数:
\n150 \xc3\x97 10000 \xc3\xb7 155 \xc3\xb7 138 \xc3\x97 100 \xc3\xb7 220 \xc3\x97 100对于浮点变量,它生成 3100.000000;对于 32 位无符号整数,它生成 3100。
我尝试使用以下代码在https://www.onlinegdb.com/上测试计算结果:
\nint main () {\n float calc = 150 * 10000 / 155 / 138 * 100 / 220 * 100 ;\n printf ( "calc = %f\\n", calc ) ; // 3100.000000\n\n uint32_t calc0 = 150 * 10000 / 155 / 138 * 100 / 220 * 100 ;\n printf ( "calc0 …Run Code Online (Sandbox Code Playgroud) 我看过他们使用的一些代码'0x0000FFFFFFFFFFFFLL'.我不知道它做了什么.有人可以解释一下这段代码的作用.
int64 l1;
l1 = *(Int64 *)&d1 & 0x0000FFFFFFFFFFFFLL;
Run Code Online (Sandbox Code Playgroud)
虽然这不适合'stackoverflow'但我无处可寻.我是编程新手,请帮忙.
我想在long long int64位机器上设置一个数字位.例如,我想在元素18 19处设置位,我使用以下代码:
A1 |= 1 << 2 * i; // i = 9 , set bit 18 =1, A1 long long int
A1 &= ~(1 << 2 * i + 1); //clear bit 19 = 0
Run Code Online (Sandbox Code Playgroud)
但它不起作用.如果我这样做long int,它工作正常.
我想了解以下两个定义之间的区别
unsigned long long id = 0x0FULL; //should be correct
unsigned int store = 0X0FULL; // ?? Can this be done
printf("id is : 0x%llx store is : 0x%x\n",id,store);
Run Code Online (Sandbox Code Playgroud)
两个变量的输出返回相同的值
id is : 0xf store is : 0xf
Run Code Online (Sandbox Code Playgroud)