ab.com コミュニティ

ActiveBasicを通したコミュニケーション
現在時刻 - 2024年3月29日(金) 16:58

全ての表示時間は UTC+09:00 です




新しいトピックを投稿する  トピックへ返信する  [ 1 件の記事 ] 
作成者 メッセージ
投稿記事Posted: 2005年12月07日(水) 11:21 
32bit*2の64bit計式で示されるファイル時間を強引に
32bitに圧縮しようとして気が付いたのですが、

#N88BASIC
Do
Qbit()
Dbit()
Sleep(INFINITE)
Loop


Sub Qbit()
Dim a As DWord
Dim b As DWord
Dim c As QWord
a=&HFFFFFFFF
b=&HFFFFFFFF
c=a
print a
print (c<<32 or b)
End Sub


Sub Dbit()
Dim a As Word
Dim b As Word
Dim c As DWord
a=&HFFFF
b=&HFFFF
c=a
print a
print (c<<16 or b)
End Sub


2つのDWordからQWordを作る関数がなかったので、
変な事をしてますが、このソースを実行すると、
Dbit()の表示は

65535
4294967295

で正常なのですが、Qbit()の表示が

4294967295
-1

となってしまいます。

また、QWord()のa=&HFFFFFFFFをa=&H7FFFFFFFにすると
表示は+ですが、a=&H8FFFFFFFにすると-になるので
どうやら先頭ビットが符号になっているみたいでした。


通報する
ページトップ
   
期間内表示:  ソート  
新しいトピックを投稿する  トピックへ返信する  [ 1 件の記事 ] 

全ての表示時間は UTC+09:00 です


オンラインデータ

このフォーラムを閲覧中のユーザー: なし & ゲスト[15人]


トピック投稿:  可
返信投稿:  可
記事編集: 不可
記事削除: 不可
ファイル添付: 不可

検索:
ページ移動:  
cron
Powered by phpBB® Forum Software © phpBB Limited
Japanese translation principally by ocean