小编use*_*499的帖子

字节总是8位吗?

当我阅读以下摘录时,我正在研究计算系统的要素:

Hack计算机包括一个黑白屏幕,组织为256行,每行512像素.屏幕内容由8K存储器映射表示,该映射从RAM地址16384(0x400)开始.物理屏幕中的每一行,从屏幕的左上角开始,在RAM中由32个连续的16位字表示.因此,来自顶部的行r和来自左边的列c的像素被映射到位于RAM [16384 + r*32 + c%16]的字的c%16位(从LSB到MSB计数).为了写入或读取物理屏幕的像素,可以在RAM驻留存储器映射中读取或写入相应的位(1 =黑色,0 =白色).

那么,如果屏幕是256行512像素,并且每个像素是一个比特,那么整个屏幕的8K内存映射怎么样?

256行*512位= 131072/8位/字节/ 1024字节/ K = 16K

那不是一张16K的内存映射吗?

我唯一能想到的是因为字大小是16位,这可能是一个因素吗?我一直都知道"字节"意味着8位,但如果它的定义取决于计算机的字大小,那么这对我来说可能会解开这个谜团.有人可以向我解释该段中描述的屏幕是如何用8K内存映射而不是16K表示的吗?

byte bits

19
推荐指数
1
解决办法
3万
查看次数

如何避免重复以下代码?

List<Widget> widgets = widgetDao.retrieveWidgets(widgetBatchSize, 0);
createWidgets(widgets);

for (int offset = widgetBatchSize; widgets.size() >= widgetBatchSize; 
        offset +=  widgetBatchSize) {
    widgets = widgetDao.retrieveWidgets(widgetBatchSize, offset);
    createWidgets(widgets);
}
Run Code Online (Sandbox Code Playgroud)

我在复制循环之前和循环内的处理代码感觉不对.如何避免重复此代码?

java

3
推荐指数
1
解决办法
114
查看次数

标签 统计

bits ×1

byte ×1

java ×1