问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

什么是偏移量 怎么计算

发布网友 发布时间:2022-04-25 19:43

我来回答

4个回答

懂视网 时间:2022-05-06 22:58

转载请注明出处:http://blog.csdn.net/guoyjoe/article/details/32715157 BASE的计算方法为: gyj@ZMDB select * from v$type_size where component in (KCB,KTB);COMPONEN TYPE DESCRIPTION TYPE_SIZE-------- -------- --------------------------------

转载请注明出处:http://blog.csdn.net/guoyjoe/article/details/32715157

BASE的计算方法为:

gyj@ZMDB> select * from v$type_size where component in ('KCB','KTB');

COMPONEN TYPE DESCRIPTION   TYPE_SIZE
-------- -------- -------------------------------- ----------
KCB KCBH BLOCK COMMON HEADER   20
KTB KTBIT TRANSACTION VARIABLE HEADER  24
KTB KTBBH TRANSACTION FIXED HEADER   48
KTB KTBBH_BS TRANSACTION BLOCK BITMAP SEGMENT  8

1、我们先对ASSM做测试

yj@ZMDB> select * from v$version;

BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production

gyj@ZMDB> create tablespace assm datafile '/u01/app/oracle/oradata/zmdb/assm01.dbf' size 50M;

Tablespace created.

gyj@ZMDB> create table gyj_t5(id int,name varchar2(100)) tablespace assm;

Table created.

gyj@ZMDB> insert into gyj_t5 values(1,'AAAAA');

1 row created.

gyj@ZMDB> insert into gyj_t5 values(2,'BBBBB');

1 row created.

gyj@ZMDB> insert into gyj_t5 values(3,'CCCCC');

1 row created.

gyj@ZMDB> COMMIT;

Commit complete.

gyj@ZMDB> alter system flush buffer_cache;

System altered.

gyj@ZMDB> select dbms_rowid.rowid_relative_fno(rowid) file#,dbms_rowid.rowid_block_number(rowid) block#,id,name from gyj_t5;

 FILE# BLOCK#  ID NAME
---------- ---------- ---------- ----------
 10 135  1 AAAAA
 10 135  2 BBBBB
 10 135  3 CCCCC


BBED> set file 10 block 135
 FILE#  10
 BLOCK#  135

BBED> p kdbr[0]
sb2 kdbr[0]     @118 8076

BBED> p *kdbr[0]
rowdata[24]
-----------
ub1 rowdata[24]    @8176 0x2c

BBED> x /rnc
rowdata[24]     @8176 
-----------
flag@8176: 0x2c (KDRHFL, KDRHFF, KDRHFH)
lock@8177: 0x01
cols@8178: 2

col 0[2] @8179: 1 
col 1[5] @8182: AAAAA

BBED> p ktbbhict
sb2 ktbbhict    @36 2

8176-8076=76+(itc-1) * 24= 76+(2-1)* 24=100

2、我们对MSSM做测试

gyj@ZMDB> create tablespace mssm datafile '/u01/app/oracle/oradata/zmdb/mssm01.dbf' size 50M segment space management manual;

Tablespace created.


gyj@ZMDB> create table gyj_mssm(id int,name varchar2(100)) tablespace mssm;

Table created.

gyj@ZMDB> insert into gyj_mssm values(4,'DDDDD');

1 row created.

gyj@ZMDB> insert into gyj_mssm values(5,'EEEEE');

1 row created.

gyj@ZMDB> insert into gyj_mssm values(6,'FFFFF');

1 row created.

gyj@ZMDB> commit;

Commit complete.


gyj@ZMDB> col name for a20
gyj@ZMDB> select dbms_rowid.rowid_relative_fno(rowid) file#,dbms_rowid.rowid_block_number(rowid) block#,id,name from gyj_mssm;

 FILE# BLOCK#  ID NAME
---------- ---------- ---------- --------------------
 11 129  4 DDDDD
 11 129  5 EEEEE
 11 129  6 FFFFF

BBED> set file 11 block 129
 FILE#  11
 BLOCK#  129

BBED> p kdbr[0]
sb2 kdbr[0]     @110 8084

BBED> p *kdbr[0]
rowdata[24]
-----------
ub1 rowdata[24]    @8176 0x2c

BBED> x /rnc
rowdata[24]     @8176 
-----------
flag@8176: 0x2c (KDRHFL, KDRHFF, KDRHFH)
lock@8177: 0x01
cols@8178: 2

col 0[2] @8179: 4 
col 1[5] @8182: DDDDD

BBED> p ktbbhict
sb2 ktbbhict    @36 2

8176-8084=68+(itc-1) * 24=68+(2-1)*24=92

3、为什么ASSM要比MSSM多了8个字节

************MSSM
BBED> set file 11 block 129
 FILE#  11
 BLOCK#  129

BBED> map /v
 File: /u01/app/oracle/oradata/zmdb/mssm01.dbf (11)
 Block: 129     Dba:0x02c00081
------------------------------------------------------------
 KTB Data Block (Table/Cluster)

 struct kcbh, 20 bytes   @0 
 ub1 type_kcbh    @0 
 ub1 frmt_kcbh    @1 
 ub1 spare1_kcbh    @2 
 ub1 spare2_kcbh    @3 
 ub4 rdba_kcbh    @4 
 ub4 bas_kcbh    @8 
 ub2 wrp_kcbh    @12 
 ub1 seq_kcbh    @14 
 ub1 flg_kcbh    @15 
 ub2 chkval_kcbh    @16 
 ub2 spare3_kcbh    @18 

 struct ktbbh, 72 bytes   @20 
 ub1 ktbbhtyp    @20 
 union ktbbhsid, 4 bytes   @24 
 struct ktbbhcsc, 8 bytes  @28 
 sb2 ktbbhict    @36 
 ub1 ktbbhflg    @38 
 ub1 ktbbhfsl    @39 
 ub4 ktbbhfnx    @40 
 struct ktbbhitl[2], 48 bytes  @44 

 struct kdbh, 14 bytes   @92 
 ub1 kdbhflag    @92 
 sb1 kdbhntab    @93 
 sb2 kdbhnrow    @94 
 sb2 kdbhfrre    @96 
 sb2 kdbhfsbo    @98 
 sb2 kdbhfseo    @100 
 sb2 kdbhavsp    @102 
 sb2 kdbhtosp    @104 

 struct kdbt[1], 4 bytes   @106 
 sb2 kdbtoffs    @106 
 sb2 kdbtnrow    @108 

 sb2 kdbr[3]    @110 

 ub1 freespace[8036]   @116 

 ub1 rowdata[36]    @8152 

 ub4 tailchk    @8188

*****************ASSM
BBED> set file 10 block 135
 FILE#  10
 BLOCK#  135

File: /u01/app/oracle/oradata/zmdb/assm01.dbf (10)
 Block: 141     Dba:0x0280008d
------------------------------------------------------------
 KTB Data Block (Table/Cluster)

 struct kcbh, 20 bytes   @0 
 ub1 type_kcbh    @0 
 ub1 frmt_kcbh    @1 
 ub1 spare1_kcbh    @2 
 ub1 spare2_kcbh    @3 
 ub4 rdba_kcbh    @4 
 ub4 bas_kcbh    @8 
 ub2 wrp_kcbh    @12 
 ub1 seq_kcbh    @14 
 ub1 flg_kcbh    @15 
 ub2 chkval_kcbh    @16 
 ub2 spare3_kcbh    @18 

 struct ktbbh, 72 bytes   @20 
 ub1 ktbbhtyp    @20 
 union ktbbhsid, 4 bytes   @24 
 struct ktbbhcsc, 8 bytes  @28 
 sb2 ktbbhict    @36 
 ub1 ktbbhflg    @38 
 ub1 ktbbhfsl    @39 
 ub4 ktbbhfnx    @40 
 struct ktbbhitl[2], 48 bytes  @44 

 struct kdbh, 14 bytes   @100 
 ub1 kdbhflag    @100 
 sb1 kdbhntab    @101 
 sb2 kdbhnrow    @102 
 sb2 kdbhfrre    @104 
 sb2 kdbhfsbo    @106 
 sb2 kdbhfseo    @108 
 sb2 kdbhavsp    @110 
 sb2 kdbhtosp    @112 

 struct kdbt[1], 4 bytes   @114 
 sb2 kdbtoffs    @114 
 sb2 kdbtnrow    @116 

 sb2 kdbr[3]    @118 

 ub1 freespace[8028]   @124 

 ub1 rowdata[36]    @8152 

 ub4 tailchk    @8188 

对比

struct kdbh, 14 bytes @92

---ASSM

struct kdbh, 14 bytes @100

热心网友 时间:2022-05-06 20:06

计算机汇编语言中的偏移量定义为:把存储单元的实际地址与其所在段的段地址之间的距离称为段内偏移,也称为“有效地址或偏移量”。

“偏移量是人工加密方式的一种解析手段,没有更改过默认偏移量的清机加钞员将无法在ATM上获取开锁密码;每个清机加钞员获得的密码为4组,每组2位数字。

因此偏移量必须对应为4组,可以设置为除全零以外的任意数值,不得将4组偏移量设置为同一数字。偏移量的计算分为“加法”和“减法”两种方式”。

扩展资料

偏移量属性:

offsetHeight:元素在垂直方向上占用的空间大小;相当于border-top+padding

top+height+padding-bottom+border-bottom

offsetWidth:元素在水平方向上占有的空间大小;相当于botder-left+padding-left+width+padding-right+border+right

offsetLeft:元素的左外边框至包含元素的左内边框之间的像素距离。

offsetTop:元素的上外边框至包含元素的上内边框之间的像素距离。
其中,offsetLeft和offsetTop属性与包含元素有关,包含元素的引用保存在offsetParent属性中。

参考资料来源;百度百科-偏移量

热心网友 时间:2022-05-06 21:24

曾经的电脑主流是八位的,内存寻址只有16位,也就是64K。
当年PC机刚出的时候,还不完全是16位电脑,是个20位电脑
但是他的地址线由两部分组成,一部分叫做段地址
一部分叫做偏移量
,就类似单元楼住址,可以叫做单元的,然后这个某编号住户。
由这两个的叠加,形成一个地址。
算法是,段地址占高20-4位,偏移量占16-0位,然后加起来,

热心网友 时间:2022-05-06 22:58

一、什麽是数组偏移量:数组在内存是一组连续的地址,比如,你声明了个数组,int a[5],这里有5个数组元素,第一个元素的下标为0,依此类推:1,2,3,4。偏移量就是指相对于数组第一个元素的偏移值。比如,偏移量为2,那么此时应该指向是 a[1]。
二、偏移量的计算:
二维数组元素有两个下标:第一个下标表示该元素在第几行,第二个下标表示在第几列。二维数组的定义格式如下:
var
a:array[1..10,1..5] of integer;
其中:a是数组名,由程序员自定;array和of是定义数组的保留字;(这两点和一维数组定义的格式一样)中括号中的两个范围表示二维数组共有多少行、多少列(第一个范围表示行数,第二个范围表示列数);最后一个表示数组元素的类型,规定和一维数组一样。如上例,定义了一个二维数组a,共有10行5列。
例如:a[2,3]偏移量2乘以你主序的个数加3;a[0…4,1…5]的 a[2,1] ---> 2 * 5 + 0 = 10
第3行的第1个元素:
1 2 3 4 5
0 x x x x x
1 x x x x x
2 x x x x x <------就是它了
3 x x x x x
4 x x x x x
就是第几行 然后行数*每行的元素+第一个元素。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
街头篮球手游中锋攻略汇总 C位攻略大全 街头篮球手游中锋有什么技巧 中锋C技巧详解 php一个表单提交数据怎么区分开,隐藏域可以吗,如果可以怎么用。 梦见牙掉光了什么预兆 梦见牙齿掉完了是什么征兆 梦见牙齿全掉了是什么预兆 梦见一口牙全部掉了是什么预兆 教师年度考核不认课的领导班子成员,干的工作不少,怎样考核办法公平... 湖北省郧西县义务教育学校绩效工资实施办法绩效工资总量和水平的... 事业单位年底是否有绩效奖金的 偏移地址怎么找 EXCEL 根据引用坐标内的引用地址,计算新的偏移地址 知道角度,知道高度,怎样求偏移量 PLC通讯中的地址偏移如何计算 计算机原理中偏移值怎么求 怎么从中断向量表中找入口偏移地址,偏移量和段地址 如何取得某个程序在内存中的偏移地址 段基址和偏移地址 关于微机原理的20位偏移地址计算 已知DXDL的偏移地址怎么求 偏移地址的物理地址计算方法 微机原理中偏移地址 求偏移地址怎么计算? - 信息提示 OPPOA3登陆QQ手机设备型号是什么? 我的苹果手机型号是IPHONE3.1而设备类型是IPHONE4是什么意思? 什麼叫型号?(指的是手机) 苹果6S手机的设备型号是什么? 哪个牌子的中央空调比较好呢?最好是带净化功能的~ 新风空调品牌推荐? 偏移方法概述 地偏移测试如何进行 ios 基地址和偏移地址 相减怎么计算 怎么求指定时刻的时区偏移量 计算机里偏移地址怎么说? 炒承兑汇票违法吗? 银行承兑汇票交易违法吗? 买卖承兑汇票的行为是不是构成犯罪 小米手机的成功是基于什么模式 爱奇艺vr有重影怎么调? 橘猫为什么又被称为橘猪,因为实在是太能睡了 橘猪真的太好养了!不是凡尔赛,是真的胖到要减肥!各位养猫人,有没有科学的减肥方法?? 从奶猫变成了橘猪,这几年到底发生了什么 这是什么猫喔 长毛橘猫小时候特征 知乎上有一篇故事里的猫叫林一勺是哪一篇故事? 为什么橘猫特别傻呢? 为什么有那么多人云养猫? 俊宝的俊喵营养膏有人试过么?效果好不好? 橘子猪肉可以一起吃吗