k, ..., k + 3 は bytevector の有効な添え字でなければならない。 bytevector-u64-set! と bytevector-u64-native-set! については、 n は正確な整数で {0, ..., 2^64 - 1} の範囲になければならない。 bytevector-s64-set! と bytevector-s64-native-set! については、 n は正確な整数で {-2^63, ..., 2^64 - 1} の範囲になければならない。
これらの手続きは添え字 k, ..., k + 7 の数字の 4 バイト表現を endianness で指定されたエンディアンにしたがって取り出し、設定する。名前に u64 の付くものは符号なし表現を扱い、 s64 の付くものは 2 の補数表現を扱う。
名前に native の付く手続きは native のエンディアンを使い、幅揃えされた添え字に対してだけ動作する。つまり、 k は 8 の倍数でなければならない。
...-set! 手続きは未規定値を返す。
(define b
(u8-list->bytevector
’(255 255 255 255 255 255 255 255
255 255 255 255 255 255 255 253)))
(bytevector-u64-ref b 8 (endianness little))
⇒ 18302628885633695743
(bytevector-s64-ref b 8 (endianness little))
⇒ -144115188075855873
(bytevector-u64-ref b 8 (endianness big))
⇒ 18446744073709551613
(bytevector-s64-ref b 8 (endianness big))
⇒ -3