由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - 问个bit struct的面试题 急
相关主题
看到一个c的面试题,求教。问个《编程实践》(英文版)里面的问题
一道基础的C类型转换面试题懂得有点晕请教数学类题目中对于1<<31的处理
贡献一个Java 程序 面试题,看不懂为啥。请指教!Bitmap是怎么回事啊?
问个编程,系统,网络有关的综合问题。请教:string pattern match 题
问个面试时候hash table的C++实现问题讨论一下FB的经典题read和readline吧
问个结构体的大小问题几道微软面试题
问个关于排序的面试题帮我看看这两个题目回答
请教C问题如何写内存速度最优化的string permutation?有重复字符
相关话题的讨论汇总
话题: struct话题: char话题: unsigned话题: bit话题: 4bit
进入JobHunting版参与讨论
1 (共1页)
s********a
发帖数: 1447
1
请教一下 如何写一个struct
这个struct里面只有 4个项 每个占 1bit
我写了一个
struct {
unsigned char priority :1;
unsigned char nonpriority :1;
unsigned char empty :1;
unsigen char full :1;
}flag;
但是这个占了bit 因为是char
如何写这个struct只占4bit
谢谢
a****l
发帖数: 8211
2
http://en.wikipedia.org/wiki/C_syntax#Bit_fields

【在 s********a 的大作中提到】
: 请教一下 如何写一个struct
: 这个struct里面只有 4个项 每个占 1bit
: 我写了一个
: struct {
: unsigned char priority :1;
: unsigned char nonpriority :1;
: unsigned char empty :1;
: unsigen char full :1;
: }flag;
: 但是这个占了bit 因为是char

s********a
发帖数: 1447
3
我是用char写的
但是char也是8bit
只能占用4bit

【在 a****l 的大作中提到】
: http://en.wikipedia.org/wiki/C_syntax#Bit_fields
r****o
发帖数: 1950
4
是不是可以用unsigned int?

【在 s********a 的大作中提到】
: 我是用char写的
: 但是char也是8bit
: 只能占用4bit

s********a
发帖数: 1447
5
不能用unsigned int 这个32bit了

【在 r****o 的大作中提到】
: 是不是可以用unsigned int?
r****o
发帖数: 1950
6
恩,好像用unsigned int占用空间更大。
问一下,怎么看一个struct 占用了多少bit啊?用sizeof()好像只能看byte。
多谢。

【在 s********a 的大作中提到】
: 不能用unsigned int 这个32bit了
B*******1
发帖数: 2454
7
谁出的面试题,用Bit Field写的Code都是Platform Specificde,移植性很低
H*X
发帖数: 281
8

不是乘以8么?

【在 r****o 的大作中提到】
: 恩,好像用unsigned int占用空间更大。
: 问一下,怎么看一个struct 占用了多少bit啊?用sizeof()好像只能看byte。
: 多谢。

s********a
发帖数: 1447
9
我也觉得只能看byte。。。

【在 r****o 的大作中提到】
: 恩,好像用unsigned int占用空间更大。
: 问一下,怎么看一个struct 占用了多少bit啊?用sizeof()好像只能看byte。
: 多谢。

H*X
发帖数: 281
10

不管是char还是int,如果你用uint k : 1, 就是只占用1bit, 只能表示0和1啊

【在 s********a 的大作中提到】
: 我是用char写的
: 但是char也是8bit
: 只能占用4bit

相关主题
问个结构体的大小问题问个《编程实践》(英文版)里面的问题
问个关于排序的面试题请教数学类题目中对于1<<31的处理
请教C问题Bitmap是怎么回事啊?
进入JobHunting版参与讨论
r****o
发帖数: 1950
11
假设一个结构
struct elem{
unsigned int k : 1;
};
怎么测量它的长度呢?

【在 H*X 的大作中提到】
:
: 不管是char还是int,如果你用uint k : 1, 就是只占用1bit, 只能表示0和1啊

H*X
发帖数: 281
12
一般的cpu框架都是最低支持到byte addressable, 所以一次就是操作一个byte, 你如
果一个struct只想用几个bit, 后边会加上padding bits,筹够是byte的整数
r****o
发帖数: 1950
13
楼主的题目是写个struct只占4个bit,是不是没法实现了?

【在 H*X 的大作中提到】
: 一般的cpu框架都是最低支持到byte addressable, 所以一次就是操作一个byte, 你如
: 果一个struct只想用几个bit, 后边会加上padding bits,筹够是byte的整数

H*X
发帖数: 281
14
可以啊, 如果要求就是4项,每个1bit,用bit field标明是:1就可以了, 只不过实际上占
用了1byte而已
你如果说,只能用4bit的空间来存储,这就不太现实了吧
s********a
发帖数: 1447
15
这个是不是只能用bitset解决了?
y****w
发帖数: 3747
16
没有小于8bit的类型。
非要这样就把char当做两个4bit类型用,在访问函数里面再分段处理。

【在 s********a 的大作中提到】
: 请教一下 如何写一个struct
: 这个struct里面只有 4个项 每个占 1bit
: 我写了一个
: struct {
: unsigned char priority :1;
: unsigned char nonpriority :1;
: unsigned char empty :1;
: unsigen char full :1;
: }flag;
: 但是这个占了bit 因为是char

w******1
发帖数: 520
17
这个问题, 我也很困惑啊。
如果是普通的PC机器, 下面的这个STRUCT 改是多少BIT 和BYTE 呢?
struct {
char priority :1;
int abc :3;
float fff:7;
double ddd:8;
}flag;
B*******1
发帖数: 2454
18
所以说这种代码基本上是Machine Specific的。

【在 w******1 的大作中提到】
: 这个问题, 我也很困惑啊。
: 如果是普通的PC机器, 下面的这个STRUCT 改是多少BIT 和BYTE 呢?
: struct {
: char priority :1;
: int abc :3;
: float fff:7;
: double ddd:8;
: }flag;

1 (共1页)
进入JobHunting版参与讨论
相关主题
如何写内存速度最优化的string permutation?有重复字符问个面试时候hash table的C++实现问题
find k missing numbers in range [0, N].问个结构体的大小问题
Leetcode 最新题, 搞不懂问个关于排序的面试题
a家电面。。请教C问题
看到一个c的面试题,求教。问个《编程实践》(英文版)里面的问题
一道基础的C类型转换面试题懂得有点晕请教数学类题目中对于1<<31的处理
贡献一个Java 程序 面试题,看不懂为啥。请指教!Bitmap是怎么回事啊?
问个编程,系统,网络有关的综合问题。请教:string pattern match 题
相关话题的讨论汇总
话题: struct话题: char话题: unsigned话题: bit话题: 4bit