在C中,sizeof运算符用于确定给定数据类型或对象的字节大小.
同样,有CHAR_BIT从<limits.h>其被定义以反映位的一个字节的数目.
现在这可能有点假设,但是如何判断最小信息单元可以存储的不同值的数量,即主机环境是否提供位,trits,nat或其他.
回答
显然,C标准假设主机环境在位上运行.这样的位需要能够存储至少两个值.
这个问题产生了值得注意的提议
三元机器
的最小信息单元的名称:TIT 四元机器的最小信息单元的名称:QUIT
我在Rust中做了一些计算数学,并且我有一些大数字,我存储在24个值的数组中.我有将它们转换为字节并返回的函数,但它对u32值不起作用,而它可以正常工作u64.代码示例可以在下面找到:
fn main() {
let mut bytes = [0u8; 96]; // since u32 is 4 bytes in my system, 4*24 = 96
let mut j;
let mut k: u32;
let mut num: [u32; 24] = [1335565270, 4203813549, 2020505583, 2839365494, 2315860270, 442833049, 1854500981, 2254414916, 4192631541, 2072826612, 1479410393, 718887683, 1421359821, 733943433, 4073545728, 4141847560, 1761299410, 3068851576, 1582484065, 1882676300, 1565750229, 4185060747, 1883946895, 4146];
println!("original_num: {:?}", num);
for i in 0..96 {
j = i / 4;
k = (i % …Run Code Online (Sandbox Code Playgroud) 在我的机器中,我得到以下结果:
sizeof(long) = 8
sizeof(long int) = 8
Run Code Online (Sandbox Code Playgroud)
在哪里使用long int,为什么不使用int?
我有一个关于const void*中数据大小的问题.在下面的代码中,第一个printf的输出是6,而第二个printf的输出是3.请帮助,我找不到问题的来源.先感谢您
#define TEST "\x00\x01\x02\x03\x04\x05"
#include <stdio.h>
static void function(const void* c);
int main (void) {
printf("TEST: %d\n",sizeof(TEST) -1);
function(TEST);
return 0;
}
static void function(const void* c) {
printf("TEST: %d\n",sizeof(c) -1);
}
Run Code Online (Sandbox Code Playgroud) 我试图在Delphi中使用基于c的DLL.在我介入所有其他功能之前,我以为我会尝试让其中一个功能正常工作,而且我受到了阻碍.这是C调用:
int FindCityCounty(char *zip, char cityname[28], char state[2], char countyname[25],
char countynum[3]);
Run Code Online (Sandbox Code Playgroud)
我对这个概念感到困惑char cityname[25].就是它:
array[0..24] of Char/AnsiChar;
Run Code Online (Sandbox Code Playgroud)
?
翻译这些结构的正确方法是什么?我所有的尝试都以胡言乱语结束了.
更新:
以下是被调用函数的示例:
#include <stdio.h>
#include <Windows.h>
#include <srv.h> /* for CALLBACK, HINSTANCE */
#include <direct.h> /* for _getdrive and _getdcwd */
#define cpy_blank(word,len) memset(word,' ',len)
#define cpy_word strncpy
typedef int (CALLBACK* FindCityCounty)(
char ZIP[5],char cityname[28],char state[2],char countyname[25],char countynum[3]);
void runCA(FindCityCounty pCA)
{
char ZIP[5], cityname[28], state[2], countyname[25], countynum[3];
int rc;
printf("CorrectAddress C API Demonstration\n\n");
printf("FindCityCounty() function call\n");
printf("==================================\n");
/* …Run Code Online (Sandbox Code Playgroud) 在课堂上,我们必须制作一个提供颜色等的代码,我很难解释事情(我是法国人)。所以问题是在我的代码(下)中,我想阻止用户输入一个最大为 255 的数字,但它实际上不起作用,我该如何解决它;p 谢谢大家
#include <iostream>
using namespace std;
//Déclarations :
struct Srgb
{
unsigned char r ;
unsigned char g;
unsigned char b;
};
union UColor
{
unsigned int val;
Srgb components;
unsigned char tabCol[3];
};
int valeur_unique;
int main()
{
int entier;
UColor rgb1;
int choix;
cout << "Vous preferez entrer valeur unique(1) ou RGB(2) ? : " << endl;
cin >> choix;
switch (choix) {
case 1: //Valeur unique
cout << " Entrez la valeur totale : …Run Code Online (Sandbox Code Playgroud)