diff --git a/src/libraries/System.Formats.Tar/src/System/Formats/Tar/PosixTarEntry.cs b/src/libraries/System.Formats.Tar/src/System/Formats/Tar/PosixTarEntry.cs
index ebd204091d646..72d1396f83bee 100644
--- a/src/libraries/System.Formats.Tar/src/System/Formats/Tar/PosixTarEntry.cs
+++ b/src/libraries/System.Formats.Tar/src/System/Formats/Tar/PosixTarEntry.cs
@@ -50,7 +50,7 @@ internal PosixTarEntry(TarEntry other, TarEntryFormat format)
///
/// Character and block devices are Unix-specific entry types.
/// The entry does not represent a block device or a character device.
- /// The value is negative, or larger than 2097151.
+ /// The value is negative, or larger than 2097151 when using or .
public int DeviceMajor
{
get => _header._devMajor;
@@ -76,7 +76,7 @@ public int DeviceMajor
///
/// Character and block devices are Unix-specific entry types.
/// The entry does not represent a block device or a character device.
- /// The value is negative, or larger than 2097151.
+ /// The value is negative, or larger than 2097151 when using or .
public int DeviceMinor
{
get => _header._devMinor;
diff --git a/src/libraries/System.Formats.Tar/src/System/Formats/Tar/TarEntry.cs b/src/libraries/System.Formats.Tar/src/System/Formats/Tar/TarEntry.cs
index b415c30a93b52..73b158b10957b 100644
--- a/src/libraries/System.Formats.Tar/src/System/Formats/Tar/TarEntry.cs
+++ b/src/libraries/System.Formats.Tar/src/System/Formats/Tar/TarEntry.cs
@@ -95,7 +95,7 @@ public int Gid
/// A timestamps that represents the last time the contents of the file represented by this entry were modified.
///
/// In Unix platforms, this timestamp is commonly known as mtime.
- /// The specified value is larger than .
+ /// The specified value is larger than when using or .
public DateTimeOffset ModificationTime
{
get => _header._mTime;
diff --git a/src/libraries/System.Formats.Tar/src/System/Formats/Tar/TarHeader.Write.cs b/src/libraries/System.Formats.Tar/src/System/Formats/Tar/TarHeader.Write.cs
index df427319b78f5..e0d003a657bc8 100644
--- a/src/libraries/System.Formats.Tar/src/System/Formats/Tar/TarHeader.Write.cs
+++ b/src/libraries/System.Formats.Tar/src/System/Formats/Tar/TarHeader.Write.cs
@@ -1089,7 +1089,7 @@ private int FormatNumeric(long value, Span destination)
{
// GNU format: store negative numbers in big endian format with leading '0xff' byte.
// store positive numbers in big endian format with leading '0x80' byte.
- BinaryPrimitives.WriteUInt32BigEndian(destination, value < 0 ? 0xffffffff : 1U << 31);
+ BinaryPrimitives.WriteUInt32BigEndian(destination, value < 0 ? 0xffffffff : 0x80000000);
BinaryPrimitives.WriteInt64BigEndian(destination.Slice(Offset), value);
return Checksum(destination);
}
diff --git a/src/libraries/System.Formats.Tar/tests/TarWriter/TarWriter.WriteEntry.Base.cs b/src/libraries/System.Formats.Tar/tests/TarWriter/TarWriter.WriteEntry.Base.cs
index fdc30f9be77d7..d8d4018c40b01 100644
--- a/src/libraries/System.Formats.Tar/tests/TarWriter/TarWriter.WriteEntry.Base.cs
+++ b/src/libraries/System.Formats.Tar/tests/TarWriter/TarWriter.WriteEntry.Base.cs
@@ -84,7 +84,7 @@ public static IEnumerable