diff --git a/redfish-core/lib/memory.hpp b/redfish-core/lib/memory.hpp
index f20681b..495b0a5 100644
--- a/redfish-core/lib/memory.hpp
+++ b/redfish-core/lib/memory.hpp
@@ -152,7 +152,7 @@
         return;
     }
 
-    aResp->res.jsonValue[key] = "0x" + intToHexString(*value);
+    aResp->res.jsonValue[key] = "0x" + intToHexString(*value, 4);
 }
 
 inline void getPersistentMemoryProperties(
diff --git a/redfish-core/lib/processor.hpp b/redfish-core/lib/processor.hpp
index 654a08b..b74b05c 100644
--- a/redfish-core/lib/processor.hpp
+++ b/redfish-core/lib/processor.hpp
@@ -153,7 +153,7 @@
                 if (value != nullptr)
                 {
                     aResp->res.jsonValue["ProcessorId"]["EffectiveFamily"] =
-                        "0x" + intToHexString(*value);
+                        "0x" + intToHexString(*value, 4);
                 }
             }
             else if (property.first == "EffectiveModel")
@@ -165,7 +165,7 @@
                     return;
                 }
                 aResp->res.jsonValue["ProcessorId"]["EffectiveModel"] =
-                    "0x" + intToHexString(*value);
+                    "0x" + intToHexString(*value, 4);
             }
             else if (property.first == "Id")
             {
@@ -174,7 +174,7 @@
                 {
                     aResp->res
                         .jsonValue["ProcessorId"]["IdentificationRegisters"] =
-                        "0x" + intToHexString(*value);
+                        "0x" + intToHexString(*value, 16);
                 }
             }
             else if (property.first == "Microcode")
@@ -186,7 +186,7 @@
                     return;
                 }
                 aResp->res.jsonValue["ProcessorId"]["MicrocodeInfo"] =
-                    "0x" + intToHexString(*value);
+                    "0x" + intToHexString(*value, 8);
             }
             else if (property.first == "Step")
             {
@@ -197,7 +197,7 @@
                     return;
                 }
                 aResp->res.jsonValue["ProcessorId"]["Step"] =
-                    "0x" + intToHexString(*value);
+                    "0x" + intToHexString(*value, 4);
             }
         }
     }
