當前位置:首頁 » 編程語言 » c語言中怎麼加位元組
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言中怎麼加位元組

發布時間: 2022-08-30 04:10:46

c語言中怎麼把一個位元組擴展成2位元組

沒有現成的方法, 自己寫代碼轉換
#include <stdio.h>

// 調用時請保證t有不小於2*slen的空間
void b2w(const unsigned char *s, int slen, unsigned char *t)
{
unsigned char b;
for (int i=0; i<slen; i++)
{
b = s[i] & 0xF0;
b = (b & 0x80) | ((b>>1) & 0x20) | ((b>>2) & 0x08) | ((b>>3) & 0x02);
*t++ = (b>>1) | b;

b = s[i] & 0x0F;
b = (b & 0x01) | ((b<<1) & 0x04) | ((b<<2) & 0x10) | ((b<<3) & 0x40);
*t++ = (b<<1) | b;
}
}

// 按二進制顯示位元組數組
void showbytes(unsigned char *s, int slen)
{
for (int i=0; i<slen; i++)
{
unsigned char b = 0x80;
for (int k=0; k<8; k++)
{
putchar((b&s[i])? '1': '0');
b>>=1;
}
putchar(' ');
}
putchar('\n');
}

void main()
{
unsigned char s[] = {0x82, 0x41, 0xCB};
unsigned char t[sizeof(s)*2] = {0x00};

b2w(s, sizeof(s)/sizeof(s[0]), t);

showbytes(s, sizeof(s)/sizeof(s[0]));
showbytes(t, sizeof(t)/sizeof(t[0]));
}

Ⅱ C語言求位元組

在vc中int是佔4個位元組
所以3個int
佔12個
在tc中int佔2個位元組
就佔6個
一般書上說的都是int
2位元組,long
int
4位元組,
vc
中int

long
int
都是4位元組

Ⅲ c語言,構造類型求位元組

char ch;
short int i;
double f;
求他所佔的位元組,答案竟然給的是16,

因為結構體 struct ,編繹器會自動對齊,
char 為1位元組,short 為2位元組,在編譯到第2個元素 short時,會自動對齊2位元組,即在 char 之後空一個位元組,
編譯到第3元素 double(8位元組) ,又會自動對齊,前面再空4個位元組(對齊8位元組),所以總共就是16位元組

解決辦法也很簡單,你把順序調換一下就行了(比如 char , short, double 換成 double,short,char,或者其也試試)

Ⅳ C語言中什麼叫位元組,字元

位元組就是Byte=8bit(位)是計算機存儲單位。一個位可以存儲0或1.一位元組就是8個位。字元在C語言中有兩種:
1.普通字元,用單引號括起來,如'k','l','a','0'都是(中文字一個算一個字元,但占字母等字元兩倍的空間);
2.轉義字元,前面加\號,一般是鍵盤上按不出的或特殊字元。如\\(\),\n(換行),\1(笑臉)。
定義字元變數:
char
name;
賦值:
name='h';

Ⅳ c語言怎樣計算所佔位元組

主要是看變數定義的類型;
char佔一個位元組,int佔四個位元組,float佔四個位元組,double佔8個位元組;
當要注意的是在字元串中要加個'\0',要多算一個位元組。

Ⅵ 急!C語言中字元與位元組怎麼算

字元是C語言中的一個術語,位元組是內存大小的一個單位;字元佔用內存空間的一個位元組;/0是一個字元。

Ⅶ C語言中如何輸出位元組數

a)putchar函數:將指定的(表達式的值所對應的)字元輸出到標准輸出終端(屏幕)上。

格式:int putchar( int c );

例如:putchar(『a』+3);列印的結果是d,是一個字元而不是數值。

a的ASCII碼是97,加3是ASCII碼表中100對應的字元就是d。

例如:putchar(99);列印的結果是c,代入一個數字列印出的是一個字元。

就如同代入的是學號,列印出來的是姓名一樣。

b)putc函數:將指定的字元輸出到指定標准輸出流(屏幕或一個文件)中。

格式:int putc( int c, FILE *stream );

c)等價關系:putc的功能中包含putchar的功能。

putchar(c)等價於putc(c,stdout)。

例如:putc(『A』,stdout)等價於putchar(『A』)

(7)c語言中怎麼加位元組擴展閱讀

C語言的字元對齊

1、數據類型自身的對齊值:對於char型數據,其自身對齊值為1,對於short型為2,對於int,float,double類型,其自身對齊值為4,單位位元組。

2、復雜類型(如聯合,結構體或者類)的自身對齊值:其成員中自身對齊值最大的那個值。

3、指定對齊值:#pragma pack (value)時的指定對齊值value。

4、數據成員、復雜類型(如聯合,結構體或類)的有效對齊值:自身對齊值和指定對齊值中小的那個值。

Ⅷ C語言如何定義一個BYTE數據類型

c語言中沒有byte這種類型,你說的byte可能是位元組,可以用char型替代,char類型就是一個位元組(8位)的存儲空間,用於存儲字元類型數據(也可存儲-128~127之間的整數)

Ⅸ C語言中位元組問題

『a』是個字元型數據
在內存中佔1個位元組
「a「是個字元串
系統會自動在其後添加『\0』所以」a「在內存中占兩個位元組