我正在尝试从基数为10的数字中提取页码和偏移量。我能够毫无问题地提取偏移量,但是当我尝试获取页码时,它只是产生偏移量。
WITH
MEMBER [Measures].[date info] AS
IIF(
[AbsenceDate].CURRENTMEMBER.MEMBER_CAPTION
= [CourseDate].CURRENTMEMBER.MEMBER_CAPTION
,NULL
,'not the same date'
)
SELECT
...
...
当我使用此代码时,我得到正确的偏移量,但页码不正确。我也试图将位数换成页码,但我也无法使用。此外,程序假设所有页码都是8位,所有偏移都是8位。
答案 0 :(得分:1)
根据我的理解,页码可以通过
获得int pg_number = address / (PAGE_MASK + 1);
或者
int pg_number = address >> 8;
但这实际上不是掩盖,而是实际的分裂。